package com.usian.admin.feign;

import com.usian.model.admin.dtos.NewsAuthDto;
import com.usian.model.common.dtos.PageResponseResult;
import com.usian.model.common.dtos.ResponseResult;
import com.usian.model.media.pojos.WmNews;
import com.usian.model.media.pojos.WmUser;
import com.usian.model.media.vo.WmNewsVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

@FeignClient("leadnews-wemedia")
public interface WemediaFeign {
    /**
     * 根据id查询文章
     * @param id
     * @return
     */
    @GetMapping("/api/v1/news/findOne/{id}")
     WmNews findById(@PathVariable Integer id);

    /**
     * 修改文章
     * @param wmNews
     * @return
     */
    @PostMapping("/api/v1/news/update")
     ResponseResult updateWmNews(@RequestBody WmNews wmNews);

    /**
     * 根据id查询自媒体用户
     * @param id
     * @return
     */
    @GetMapping("/api/v1/user/findOne/{id}")
    WmUser findWmUserById(@PathVariable Long id);

    /**
     * 查询需要发布的文章id列表
     * @return
     */
    @GetMapping("/api/v1/news/findRelease")
    List<Integer> findRelease();

    /**
     * 查询出新闻列表用来人工审核
     */
    @PostMapping("/api/v1/news/findList")
    PageResponseResult finList(@RequestBody NewsAuthDto authDto);

    /**
     *点击查看进入新闻列表进行审核
     */
    @GetMapping("/api/v1/news/find_news_vo/{id}")
    WmNewsVo findWmNewsVo(@PathVariable Integer id);

    /**
     *点击查看进入新闻列表进行审核
     */
    @PostMapping("/api/v1/news/findList/")
    PageResponseResult findList(NewsAuthDto dto);


}
